#ifndef FK_EVENT_NAMES
#define FK_EVENT_NAMES

#include <QString>

namespace FKEventName{
//General
//#define
    const QString g_createObjects("gco");           //server->client autocreating objects
    const QString g_deleteObjects("gdo");           //server->client autodeleting objects
    const QString g_error("ge");                    //error messager
    const QString g_commonProperty("gc");           //object's common properties identifier
//Actions
    const QString a_addUser("aau");                 //request add user to active users of client
    const QString a_addUserToList("aautl");         //request register new user for client's users reestr
    const QString a_avaliableRoomTypes("aart");     //set avaliable room types list for client
    const QString a_buttonClick("abc");             //example liveButton click notifier
    const QString a_beginLoading("abl");            //room starting request
    const QString a_clientLoadingComplete("aclc");  //room loading complete notifier
    const QString a_createRoom("acr");              //create room request
    const QString a_enterRoom("aer");               //enter room request
    const QString a_exitRoom("aexr");               //exit room request
    const QString a_message("am");                  //user sent chat message
    const QString a_removeUser("aru");              //request removing user from active users of client
    const QString a_removeUserFromList("arufl");    //request erase user from client's users reestr
//    const QString A_sceneLoadingComplete("aslc");   //scene loading complete notifier
    const QString a_setName("asn");                 //set name of client/user/etc.
    const QString a_setPassword("asp");             //set password of client/room/etc.
    const QString a_updateRoomList("aurl");         //request update avaliable rooms list
//Events
//    const QString E_addActor("eaa");                //set actor for room model
    const QString e_addUser("eau");                 //add user to active users of client
    const QString e_beginLoading("ebl");            //room began loading notifier
    const QString e_chatErrorMessage("echem");      //unresolved chat command notifier
    const QString e_commandMessage("ecm");          //success resolve chat command notifier
    const QString e_enterRoom("eer");               //order user join room
    const QString e_exitRoom("eexr");               //order user exit room
    const QString e_endLoading("el");               //last room loading step complete notifier
    const QString e_initRoomModule("eirm");         //request client application load room module plugin
    const QString e_loadingComplete("elc");         //final room loading complete notifier
    const QString e_lose("elo");                    //actor lose notifier
    const QString e_loadingProgress("elp");         //room loading progress changed
    const QString e_loadScene("els");               //room gl-resourses loading order
    const QString e_privateMessage("eprm");         //private chat message
    const QString e_publicMessage("epum");          //public chat message
    const QString e_reinstallActorsModel("eri");    //update whole room's model notifier
    const QString e_removeUser("eru");              //remove user from active users of client
    const QString e_submitUsers("esu");             //notify UI that userlist shouldn't be changed anymore (used while reconnecting)
    const QString e_updateActorsModel("euam");      //update room's model notifier
    const QString e_updateRoomList("eurl");         //update avaliable rooms list reply
    const QString e_win("ew");                      //actor win notifier
//ChangeNotifiers
#define C_COLOR cc
    const QString c_color("cc");                    //color change notifier
    const QString c_linearAcceleration("cla");      //linear moveing acceleration change notifier
    const QString c_linearAccelerating("clg");      //allow/forbid linear move acceleration
    const QString c_linearMoveing("clm");           //allow/forbid linear moveing
    const QString c_linearSpeed("cls");             //linear speed change notifier
    const QString c_components("cm");               //re-set new list of sub-objects for 3d object
    const QString c_messageHistory("cmh");          //set chat's message history
    const QString c_name("cn");                     //name change notifier
    const QString c_password("cp");                 //password change notifier
    const QString c_position("cpo");                //position change notifier
    const QString c_rotation("cr");                 //rotation change notifier
    const QString c_rotatingAcceleration("cra");    //rotating acceleration change notifier
    const QString c_rotatingAccelerating("crg");    //allow/forbid rotationAcceleration
    const QString c_rotating("cri");                //allow/forbid autorotating
    const QString c_rotatingSpeed("crs");           //rotating speed change notifier
    const QString c_score("cs");                    //score change notifier
    const QString c_userList("cul");                //
}

#endif
